#ifndef CURRICULUM_H_
#define CURRICULUM_H_
#include <string>
#include <vector>
#include <boost/shared_ptr.hpp>

class Course;

class Curriculum
{
	
public:  
    Curriculum();
    ~Curriculum();
	
	void description (const std::string& n);
	std::string description () const;

	void elective_credits(double i);
	double elective_credits()const;

	void push_back_core( boost::shared_ptr<Course> core );
	void push_back_elective( boost::shared_ptr<Course> elective );
	

private:
	std::string name;
    double icredits;
	
	std::vector< boost::shared_ptr<Course>  > vcore, velective;
};

#endif
